/*
 * Sesame Inc.
 * Copyright (c) 2009 All Rights Reserved.
 */
package com.sesame.dao;

import java.util.List;

import com.sesame.domain.Image;
import com.sesame.toolkit.Page;

/**
 * @author voidman
 * 
 */
public interface ImageDAO {
    public List<Image> getAllImage();

    public Image getImageById(Integer id);

    public List<Image> getImageByAlbumId(Page page);

    public List<Image> getImageByAlbumId(Integer albumId);

    public List<Image> getTopImageByUserId(Integer userId);

    public List<Image> getImageByUserId(Integer userId);

    public List<Image> getTopImage();

    public void addImage(Image Image);

    public void deleteImageById(Integer id);

    public void deleteImageByAlbumId(Integer albumId);

    public void updateImage(Image Image);

    public void updateImagePrivacy(Image Image);

    public void updateVisitAmount(Integer id);

    public Integer getImageCount(Integer albumId);

    public Integer getUserImageCount(Integer userId);

    public Integer getAllImageCount();

    public List<Image> getAllImage(Page page);

    public List<Image> getImageByUserId(Page page);
}